/*
 * AssignmentOperatorAst.h
 *
 *  Created on: 8 Nov 2010
 *      Author: kn308
 */

#ifndef ASSIGNMENTOPERATORAST_H_
#define ASSIGNMENTOPERATORAST_H_

#include "ExpressionAst.h"
#include "VariableAst.h"

namespace MAlice
{

class AssignmentOperatorAst: public MAlice::ExpressionAst
{
private:
	ExpressionAst* mRHS;
	VariableAst*   mLHS;
public:
	AssignmentOperatorAst(VariableAst* lhs, ExpressionAst* rhs);
	virtual ~AssignmentOperatorAst();
	virtual llvm::Value* generate();

	inline ExpressionAst* getRHS() { return mRHS; }
	inline VariableAst*   getLHS() { return mLHS; }
};

}

#endif /* ASSIGNMENTOPERATORAST_H_ */
